package tech.aistar.corejava.day10.dat10work;

import java.util.Scanner;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:条形码验证
 * @date 2019/7/27 0027
 */
public class ProductCodeDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("请您输入条形码:>");//6901234567892

        String code = sc.nextLine();

        //char[] arr = code.toCharArray();
        //char charAt(int index);//返回字符串指定索引处的char值

        //定义一个变量用来保存结果1

        int sum1 = 0;

        //计算偶数位
        for (int i = 1; i < code.length()-1 ; i+=2) {
            //char类型的数据可以进行直接的计算操作
            sum1+= (code.charAt(i) - '0');
        }
        //System.out.println(sum1);
        sum1*=3;

        //计算的奇数
        int sum2 = 0;
        for (int i = 0; i < code.length()-2; i+=2) {
            //code.charAt(i) - char类型
            //char类型->String类型
            //String类型->int类型(Integer.parseInt(String s))
            sum2 += Integer.parseInt(String.valueOf(code.charAt(i)));
        }

        //System.out.println(sum2);
        int result = sum1 + sum2;//128

        //System.out.println(result);
        //获取到大于或者等于result,并且是10的最小整倍的数 - result的值
        //然后拿这个值和条形码的最后一位进行比较,如果一样,则是正品.

        if(result % 10 ==0){
            if('0' == code.charAt(code.length()-1)){
                System.out.println("校验码是:"+0+",是正品!");
            }else{
                System.out.println("校验码是:"+0+",是假冒品!");
            }
        }else{
            int check = 10 - result%10;

            if(check == (code.charAt(code.length()-1)-'0')){
                System.out.println("校验码是:"+check+",正品");
            }else{
                System.out.println("校验码是:"+check+",假冒品");
            }
        }
    }
}
